The capability of computers to communicate with one another has become a basic attribute of modern information processing. To that end, computers and other processing and operating devices are often coupled to one another in a network so that messages, typically in the form of data packets, can be transmitted between computers of the network. Data transmission services are utilized for the physical transmission of data between nodes of the network, i.e. between points of the network where computers or other devices or systems are physically and electrically coupled to the network.
Network protocols have been developed to control the transmission of data between the nodes of a computer network. Each protocol is typically defined in terms of a number of layers, with each layer relating to a certain aspect of the functionality required for data transmissions throughout a network. For example, the first three layers are defined as a physical layer, a data link layer and a network layer.
The physical layer is directed to the physical and electrical specifications of a physical link, such as the data transmission service or bus that couples the nodes of a network to one another. The physical layer controls bit transmission through the link so that a series of bits of a data packet can be communicated from one node to another node on the network. The physical layer sets the voltage levels for logical ones and zeros, the timing of stable bit information on the link and so on, as necessary to transmit the bits of a data packet over the physical link.
The data link layer is directed to packaging or framing of bits of a data transmission into a defined framed packet that is free of transmission errors. The data link layer creates and recognizes boundaries between bits to define bit fields. The boundaries provide structure and meaning to the bits of a data transmission. For example, the data transmission, when framed according to a data link protocol, can include a start frame byte to indicate the beginning of a framed data packet, a header comprising n bits to indicate source and destination information, the length of the data packet in bytes, the network layer protocol being used and so on. The header can be followed by framed bytes of the actual data packet being communicated from a source device to a destination device, an end byte to indicate the end of the particular data transmission frame and CRC code bytes for use in checking the integrity of a data transmission.
The network layer is directed to the control of routing information required to direct a message from the source device to the destination device on the network. The network layer information is included in one of the bit fields of a frame defined by the data link layer, as e.g., in the header. Each protocol will define the length and content of the network layer information to uniquely identify each source and destination of data in the network and also the processing scheme for routing data frames through the network.
As should be understood, a data link interface is required at each node of the network to receive and transmit serial bits from and to the respective data transmission service and to frame the serial bits for processing at the node. The data link interface will support the electrical and physical specification of the data transmission service coupled to the node and process serial bits received at the node to frame the constituent bytes of a data transmission according to the data link protocol utilized in the network. The data link interface can then transmit the framed data transmission to, e.g., a data link and network layer processor at the node for processing of the frame according to the content of the frame and the protocol utilized in the network.